using System;
using System.Windows.Forms;

namespace RideMe.AddIns.Interfaces
{
    /// <summary>
    /// This defines the interface that any add-in must implement in order to be usable by RIDE-ME
    /// </summary>
    public interface IAddIn
    {
        #region Properties

        /// <summary>
        /// This must return the name of the add-in
        /// </summary>
        string Name { get; }

        /// <summary>
        /// This must return the author of the add-in
        /// </summary>
        string Author { get; }

        /// <summary>
        /// This must return the add-in description
        /// </summary>
        string Description { get; }

        #endregion

        #region Methods

        /// <summary>
        /// This will be used to initalize the add-in against the application context
        /// </summary>
        /// <param name="context"></param>
        void Init(IApplicationContext context);

        /// <summary>
        /// This will be used when the add-in is shutdown
        /// </summary>
        void Destroy();

        #endregion
    }
}
